/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.bs.Beans;

import java.io.Serializable;
import java.math.BigDecimal;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.xml.bind.annotation.XmlRootElement;

/**
 *
 * @author Bone
 */
@Entity
@Table(name = "tribut_icms_customizado")
@XmlRootElement
@NamedQueries({
    @NamedQuery(name = "TributIcmsCustomizado.findAll", query = "SELECT t FROM TributIcmsCustomizado t")})
public class TributIcmsCustomizado implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(nullable = false)
    private Integer id;
    @Column(length = 2)
    private String uf;
    private Integer cfop;
    @Column(name = "CSOSN_B", length = 3)
    private String csosnB;
    @Column(name = "CST_ICMS_B", length = 2)
    private String cstIcmsB;
    @Column(name = "MODALIDADE_BC")
    private Character modalidadeBc;
    // @Max(value=?)  @Min(value=?)//if you know range of your decimal fields consider using these annotations to enforce field validation
    @Column(name = "PORCENTO_BC_INTERNA", precision = 18, scale = 6)
    private BigDecimal porcentoBcInterna;
    @Column(name = "PAUTA_PRECO_MAXIMO", precision = 18, scale = 6)
    private BigDecimal pautaPrecoMaximo;
    @Column(name = "ALIQUOTA_INTERNA_ORIGEM", precision = 18, scale = 6)
    private BigDecimal aliquotaInternaOrigem;
    @Column(name = "MODALIDADE_BC_ICMS_ST")
    private Character modalidadeBcIcmsSt;
    @Column(precision = 18, scale = 6)
    private BigDecimal mva;
    @Column(name = "PORCENTO_BC_ICMS_ST", precision = 18, scale = 6)
    private BigDecimal porcentoBcIcmsSt;
    @Column(name = "ALIQUOTA_INTERESTADUAL", precision = 18, scale = 6)
    private BigDecimal aliquotaInterestadual;
    @Column(name = "ALIQUOTA_INTERNA_DESTINO", precision = 18, scale = 6)
    private BigDecimal aliquotaInternaDestino;
    @Column(name = "PAUTA_ICMS_ST", precision = 18, scale = 6)
    private BigDecimal pautaIcmsSt;
    @JoinColumn(name = "ID_TRIBUT_OPERACAO_FISCAL", referencedColumnName = "ID", nullable = false)
    @ManyToOne(optional = false)
    private TributOperacaoFiscal idTributOperacaoFiscal;

    public TributIcmsCustomizado() {
    }

    public TributIcmsCustomizado(Integer id) {
        this.id = id;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getUf() {
        return uf;
    }

    public void setUf(String uf) {
        this.uf = uf;
    }

    public Integer getCfop() {
        return cfop;
    }

    public void setCfop(Integer cfop) {
        this.cfop = cfop;
    }

    public String getCsosnB() {
        return csosnB;
    }

    public void setCsosnB(String csosnB) {
        this.csosnB = csosnB;
    }

    public String getCstIcmsB() {
        return cstIcmsB;
    }

    public void setCstIcmsB(String cstIcmsB) {
        this.cstIcmsB = cstIcmsB;
    }

    public Character getModalidadeBc() {
        return modalidadeBc;
    }

    public void setModalidadeBc(Character modalidadeBc) {
        this.modalidadeBc = modalidadeBc;
    }

    public BigDecimal getPorcentoBcInterna() {
        return porcentoBcInterna;
    }

    public void setPorcentoBcInterna(BigDecimal porcentoBcInterna) {
        this.porcentoBcInterna = porcentoBcInterna;
    }

    public BigDecimal getPautaPrecoMaximo() {
        return pautaPrecoMaximo;
    }

    public void setPautaPrecoMaximo(BigDecimal pautaPrecoMaximo) {
        this.pautaPrecoMaximo = pautaPrecoMaximo;
    }

    public BigDecimal getAliquotaInternaOrigem() {
        return aliquotaInternaOrigem;
    }

    public void setAliquotaInternaOrigem(BigDecimal aliquotaInternaOrigem) {
        this.aliquotaInternaOrigem = aliquotaInternaOrigem;
    }

    public Character getModalidadeBcIcmsSt() {
        return modalidadeBcIcmsSt;
    }

    public void setModalidadeBcIcmsSt(Character modalidadeBcIcmsSt) {
        this.modalidadeBcIcmsSt = modalidadeBcIcmsSt;
    }

    public BigDecimal getMva() {
        return mva;
    }

    public void setMva(BigDecimal mva) {
        this.mva = mva;
    }

    public BigDecimal getPorcentoBcIcmsSt() {
        return porcentoBcIcmsSt;
    }

    public void setPorcentoBcIcmsSt(BigDecimal porcentoBcIcmsSt) {
        this.porcentoBcIcmsSt = porcentoBcIcmsSt;
    }

    public BigDecimal getAliquotaInterestadual() {
        return aliquotaInterestadual;
    }

    public void setAliquotaInterestadual(BigDecimal aliquotaInterestadual) {
        this.aliquotaInterestadual = aliquotaInterestadual;
    }

    public BigDecimal getAliquotaInternaDestino() {
        return aliquotaInternaDestino;
    }

    public void setAliquotaInternaDestino(BigDecimal aliquotaInternaDestino) {
        this.aliquotaInternaDestino = aliquotaInternaDestino;
    }

    public BigDecimal getPautaIcmsSt() {
        return pautaIcmsSt;
    }

    public void setPautaIcmsSt(BigDecimal pautaIcmsSt) {
        this.pautaIcmsSt = pautaIcmsSt;
    }

    public TributOperacaoFiscal getIdTributOperacaoFiscal() {
        return idTributOperacaoFiscal;
    }

    public void setIdTributOperacaoFiscal(TributOperacaoFiscal idTributOperacaoFiscal) {
        this.idTributOperacaoFiscal = idTributOperacaoFiscal;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (id != null ? id.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof TributIcmsCustomizado)) {
            return false;
        }
        TributIcmsCustomizado other = (TributIcmsCustomizado) object;
        if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "com.bs.Beans.TributIcmsCustomizado[ id=" + id + " ]";
    }
    
}
